package main

import (
	"encoding/json"
	"fmt"
	"os"
)

// 编写一个程序：
// 能够以 JSON 格式打印出 例子 21.8 中 3 台 探测器的着陆点。
// 被打印的 JSON 数据必须包含每个着陆点的名称，并使用例子 21.10 中展示的 struct 标签特性。
// 请使用 json 包中的 MarshalIndent 函数让打印输出变得更加美观和易读。

func main() {
	type location struct {
		Name string  `json:"name"`
		Lat  float64 `json:"latitude"`
		Long float64 `json:"longitude"`
	}

	locations := []location{
		{Name: "Bradbury Landing", Lat: -4.5895, Long: 137.4417},
		{Name: "Columbia Memorial Station", Lat: -14.5684, Long: 175.472636},
		{Name: "Challenger Memorial Station", Lat: -1.9462, Long: 354.4734},
	}

	// 格式化了
	bytes, err := json.MarshalIndent(locations, "", "  ")
	if err != nil {
		fmt.Println(err)
		os.Exit(1)
	}

	fmt.Println(string(bytes))
}
